home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.util;
-
- import java.util.Enumeration;
- import java.util.Hashtable;
- import java.util.Vector;
-
- public class HashVector extends Hashtable {
- private static Vector EMPTY_VECTOR = new Vector();
-
- public Object put(Object var1, Object var2) {
- if (var2 instanceof Vector) {
- return super.put(var1, var2);
- } else {
- Vector var3 = (Vector)((Hashtable)this).get(var1);
- if (var3 == null) {
- var3 = new Vector();
- super.put(var1, var3);
- }
-
- var3.addElement(var2);
- return var3;
- }
- }
-
- public Vector getVector(Object var1) {
- Vector var2 = (Vector)((Hashtable)this).get(var1);
- return var2 != null ? var2 : EMPTY_VECTOR;
- }
-
- public void remove(Object var1, Object var2) {
- Vector var3 = this.getVector(var1);
- if (var3 != null) {
- var3.removeElement(var2);
- if (var3.isEmpty()) {
- ((Hashtable)this).remove(var1);
- }
- }
-
- }
-
- public Enumeration vectors() {
- return ((Hashtable)this).elements();
- }
-
- public Enumeration subelements() {
- Enumeration var1 = super.elements();
- return new 1(var1, (HashVector)null);
- }
-
- public int vectorCount() {
- return ((Hashtable)this).size();
- }
-
- public int subelementCount() {
- int var1 = 0;
-
- Vector var3;
- for(Enumeration var2 = this.vectors(); var2.hasMoreElements(); var1 += var3.size()) {
- var3 = (Vector)var2.nextElement();
- }
-
- return var1;
- }
- }
-